package com.tencent.compose.map.poi.data

import org.example.project.search.data.LatLng
import org.example.project.search.data.MiniApp

/**
 * 记录卡片数据模型
 * @param name 记录名称
 * @param type 类型
 * @param typeWord 类别词
 * @param showName 子点上显示的名字
 * @param address 地址
 * @param shortAddress 短地址
 * @param station 车站点
 * @param isOfflineData 是否为离线数据
 * @param distance 距离
 * @param isBrowsed 是否浏览过
 * @param subSuggestions 子建议列表
 * @param proportionOfSelection 选择占比
 * @param peopleFlow 实时人流
 * @param behavior 实时人气信息
 * @param priceInfo 人均价格信息
 * @param picUrl 头图地址
 * @param poiErrInfo POI信息
 * @param highlightText 高亮文本
 * @param starLevel 评分 最高100分
 * @param isLatLngSearchNear 是否是经纬度搜索的附近地点
 * @param latLng 经纬度
 */
data class RecordData(
    val name: String,
    val type: Int = -1,
    val typeWord: String? = null,
    val showName: String? = null,
    val address: String? = null,
    val shortAddress: String? = null,
    val station: List<String>? = null,
    val isOfflineData: Boolean = false,
    var distance: String? = null,
    val isBrowsed: Boolean = false,
    val subSuggestions: List<RecordData>? = null,
    val proportionOfSelection: String? = null,
    val peopleFlow: String? = null,
    val behavior: String? = null,
    val priceInfo: String? = null,
    val picUrl: String? = null,
    val poiErrInfo: String? = null,
    val highlightText: String? = null,
    val starLevel: Int = -1,
    val miniApp: MiniApp? = null,
    val isLatLngSearchNear: Boolean = false,
    val latLng: LatLng? = null,
    val guessList: List<String> = listOf(),
)

/**
 * 合并记录类型
 * @param cityName 城市名称
 * @param shortCityName 城市简称
 * @param vSuggestionList 记录列表
 */
data class MergeSugData(
    val cityName: String,
    val shortCityName: String,
    val vSuggestionList: List<RecordData>
)

